package com.hw.one.dam2.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONArray;
import com.hw.one.dam2.entity.IAQIEntity;

/**
 * 城市、区县 Service
 *
 * @author admin
 *
 */
public interface ICityAirService {

	List<IAQIEntity> findCityIAQIByRegionCodeAndTime(Map<String,Object> paraMap) throws Exception;

	/**
	 * 根据城市编码，获取该城市最近12小时的小时数据
	 * @param regionCode
	 * @return
	 */
	public List<Map<String, Object>> findLast12HourCityHourDataBySiteCode(String regionCode);

	/**
	 * 查询点位及点位详细信息
	 * 根据点位类型，查询登录用户所属的所有类型点位信息
	 * @param paraMap
	 * @return
	 * @throws Exception
	 */
	Map<String,Object> findSiteAndDetailInfoBySiteType(Map<String, Object> paraMap) throws Exception;

	/**
	 * 根据区域编码，查询区域的实时空气质量
	 *
	 * @param regionCode
	 * @return
	 * @throws Exception
	 */
	Map<String,Object> findCityLiveAQIByRegionCode(String regionCode) throws Exception;

	/**
	 * 获取空气站的最新数据，组装成ECharts数据结构
	 *
	 * @param paraMap
	 * @return
	 * @throws Exception
	 */
	Map<String, Object> findAirSiteLastDetailListBySiteTypeForTrend(Map<String, Object> paraMap) throws Exception;

	/**
	 * 查询登录用户所属城市的当天AQI累计及AQI预报
	 * @return
	 * @throws Exception
	 */
	JSONArray findUserCityCurrentDayAQITotal() throws Exception;

	/**
	 * 查询登录用户所属区域及下属区域的综合指数
	 *
	 * @return
	 */
	Map<String, Object> findCityCurrentComprehensiveIndexTotalForQJZL() throws Exception;

	/**
	 * 查询当前登录用户的排名情况
	 * @author 李亚坤
	 * @createtime 2017年3月30日13:23:26
	 * @return
	 * @throws Exception
	 */
	Map<String, Object> findCityRankings() throws Exception;

	/**
	 * 查询当前登录用户的74城市排名情况
	 * @author 毛超然
	 * @createtime 2017年8月4日09:23:26
	 * @return
	 * @throws Exception
	 */
	Map<String, Object> find74CityRanking(Map<String,Object> paraMap) throws Exception;

	/**
	 * 根据 地图级别 ，查询全国城市 或者 全国国控站点 空气质量
	 *
	 * @param paraMap
	 * @return
	 * @throws Exception
	 */
	Map<String, Object> findNationalSiteAQIByMapLevel(Map<String, Object> paraMap) throws Exception;
	/**
	 * 根据 地图级别 ，查询全国城市 或者 全国国控站点 空气质量
	 *
	 * @param paraMap
	 * @return
	 * @throws Exception
	 */
	Map<String, Object> findGpointAQIByMapLevel(Map<String, Object> paraMap) throws Exception;

	/**
	 * 查询全国城市热力图数据
	 * @param paramMap
	 * @return
	 * @throws Exception
	 */
	Map<String, Object> findHotPointData(Map<String, Object> paramMap) throws Exception;

}
